diff options
Diffstat (limited to 'app/[lng]/evcp/(evcp)/(sales)')
6 files changed, 32 insertions, 10 deletions
diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx index 97e53567..2ca48091 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx @@ -7,14 +7,18 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table" import { type SearchParams } from "@/types/table" import * as React from "react" import { InformationButton } from "@/components/information/information-button" +import { useTranslation } from "@/i18n" interface HullRfqPageProps { + params: Promise<{lng: string}> searchParams: Promise<SearchParams> } export default async function HullRfqPage(props: HullRfqPageProps) { // searchParams를 await하여 resolve const searchParams = await props.searchParams - + const {lng} = await props.params + const {t} = await useTranslation(lng, 'menu') + // 해양 HULL용 파라미터 파싱 const search = searchParamsHullCache.parse(searchParams); const validFilters = getValidFilters(search.filters); @@ -35,7 +39,7 @@ export default async function HullRfqPage(props: HullRfqPageProps) { <div> <div className="flex items-center gap-2"> <h2 className="text-2xl font-bold tracking-tight"> - 기술영업-해양 Hull Budgetary RFQ + {t('menu.tech_sales.budgetary_hull')} </h2> <InformationButton pagePath="evcp/budgetary-tech-sales-hull" /> </div> diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx index 779b9ac9..0791a9bd 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx @@ -7,14 +7,18 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table" import { type SearchParams } from "@/types/table" import * as React from "react" import { InformationButton } from "@/components/information/information-button" +import { useTranslation } from "@/i18n" interface RfqPageProps { + params: Promise<{lng: string}> searchParams: Promise<SearchParams> } export default async function RfqPage(props: RfqPageProps) { // searchParams를 await하여 resolve const searchParams = await props.searchParams - + const {lng} = await props.params + const {t} = await useTranslation(lng, 'menu') + // 조선용 파라미터 파싱 const search = searchParamsShipCache.parse(searchParams); const validFilters = getValidFilters(search.filters); @@ -35,7 +39,7 @@ export default async function RfqPage(props: RfqPageProps) { <div> <div className="flex items-center gap-2"> <h2 className="text-2xl font-bold tracking-tight"> - 기술영업-조선 Budgetary RFQ + {t('menu.tech_sales.budgetary_ship')} </h2> <InformationButton pagePath="evcp/budgetary-tech-sales-ship" /> </div> diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx index 5c96c85d..0949d9a0 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx @@ -7,14 +7,17 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table" import { type SearchParams } from "@/types/table" import * as React from "react" import { InformationButton } from "@/components/information/information-button" +import { useTranslation } from "@/i18n" interface HullRfqPageProps { + params: Promise<{lng: string}> searchParams: Promise<SearchParams> } export default async function HullRfqPage(props: HullRfqPageProps) { // searchParams를 await하여 resolve const searchParams = await props.searchParams - + const {lng} = await props.params + const {t} = await useTranslation(lng, 'menu') // 해양 TOP용 파라미터 파싱 const search = searchParamsTopCache.parse(searchParams); const validFilters = getValidFilters(search.filters); @@ -35,7 +38,7 @@ export default async function HullRfqPage(props: HullRfqPageProps) { <div> <div className="flex items-center gap-2"> <h2 className="text-2xl font-bold tracking-tight"> - 기술영업-해양 TOP Budgetary RFQ + {t('menu.tech_sales.budgetary_top')} </h2> <InformationButton pagePath="evcp/budgetary-tech-sales-top" /> </div> diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx index cf35530d..ad7c7b36 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx @@ -6,17 +6,22 @@ import { searchParamsCache } from "@/lib/contact-possible-items/validations" import { ContactPossibleItemsTable } from "@/lib/contact-possible-items/table/contact-possible-items-table"
import { getValidFilters } from "@/lib/data-table"
import { type SearchParams } from "@/types/table"
+import { useTranslation } from "@/i18n"
interface ContactPossibleItemsPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function ContactPossibleItemsPage({
+ params,
searchParams,
}: ContactPossibleItemsPageProps) {
// ✅ searchParams 파싱
const resolvedSearchParams = await searchParams
const search = searchParamsCache.parse(resolvedSearchParams)
+ const {lng} = await params
+ const {t} = await useTranslation(lng, 'menu')
console.log("Parsed search params:", search)
@@ -39,10 +44,10 @@ export default async function ContactPossibleItemsPage({ <div className="flex items-center justify-between space-y-2">
<div>
<h2 className="text-2xl font-bold tracking-tight">
- 담당자별 자재 관리
+ {t('menu.tech_sales.contact_items')}
</h2>
<p className="text-muted-foreground">
- 기술영업 담당자별 자재를 관리합니다.
+ {t('menu.tech_sales.contact_items_desc')}
</p>
</div>
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx index 4ce018cd..c9ec6075 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx @@ -12,6 +12,7 @@ import { getValidFilters } from "@/lib/data-table" import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton"
import { Ellipsis } from "lucide-react"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
export interface PageProps {
params: Promise<{ lng: string }>
searchParams: Promise<SearchParams>
@@ -22,6 +23,7 @@ export default async function AcceptedQuotationsPage({ searchParams,
}: PageProps) {
const { lng } = await params
+ const {t} = await useTranslation(lng, 'menu')
const session = await getServerSession(authOptions)
if (!session) {
@@ -47,7 +49,7 @@ export default async function AcceptedQuotationsPage({ <div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 견적 Result 전송
+ {t('menu.tech_sales.result_transmission')}
</h2>
<InformationButton pagePath="evcp/tech-project-avl" />
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx index 736a7bad..7475c274 100644 --- a/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx +++ b/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx @@ -8,14 +8,18 @@ import { Shell } from "@/components/shell" import { searchParamsCache } from "@/lib/tech-vendors/validations"
import { getTechVendors, getTechVendorStatusCounts } from "@/lib/tech-vendors/service"
import { TechVendorsTable } from "@/lib/tech-vendors/table/tech-vendors-table"
+import { useTranslation } from "@/i18n"
interface IndexPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function IndexPage(props: IndexPageProps) {
const searchParams = await props.searchParams
const search = searchParamsCache.parse(searchParams)
+ const {lng} = await props.params
+ const {t} = await useTranslation(lng, 'menu')
const validFilters = getValidFilters(search.filters)
@@ -33,7 +37,7 @@ export default async function IndexPage(props: IndexPageProps) { {/* 왼쪽: 타이틀 & 설명 */}
<div>
<div className="flex items-center gap-2">
- <h2 className="text-2xl font-bold tracking-tight">기술영업 협력업체 관리</h2>
+ <h2 className="text-2xl font-bold tracking-tight">{t('menu.tech_sales.vendors')}</h2>
{/* InformationButton은 필요시 추가 */}
{/* <InformationButton pagePath="evcp/tech-vendors" /> */}
</div>
|
